/***************************************************
> Copyright (C) 2024 ==KINGYI== All rights reserved.
> File Name: 2.c
> Author:cjy
> Mail: 
> Created Time: 2024年08月06日 星期二 17时27分55秒
***************************************************/
//创建进程，在子进程中把进程ID传递给父进程，父进程等待子进程结束，一分钟等不到时，
    //主动给子进程发信号SIGKILL，迫使它结束。
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <signal.h>

int main(int argc, const char* argv[])
{
    pid_t pid = 0;
    int fd[2] = {0};
    int ret = 0;
    int count = 1;
    // 创建子进程
    pid = fork();
    if (pid == 0) {
        printf("子进程id:%d\n", getpid());
	while(count < 30){
		printf("%d秒\n",count);
		count ++;
		sleep(1);	
	}
	
        
    } else if (pid < 0) {
        printf("fork error\n");
        exit(-1);
    }
        // 读取子进程ID
        printf("id:%d\n",pid);
	// 等五秒杀死子进程
	sleep(5);
	kill(pid,SIGKILL);
	wait(NULL);
    return 0;
}

